// 创建线性表类
class LinearList {
  constructor() {
    this.data = []; // 用于存储线性表数据
    this.length = 0; // 用于存储线性表长度
  }

  // 清空线性表
  clear() {
    this.data = [];
    this.length = 0;
  }

  // 添加元素至线性表尾部
  append(element) {
    this.data.push(element);
    this.length++;
  }

  // 获取指定下标位置的元素
  get(index) {
    if (index < 0 || index >= this.length) {
      throw new Error("index out of range");
    }

    return this.data[index];
  }

  // 删除指定下标位置的元素
  delete(index) {
    if (index < 0 || index >= this.length) {
      throw new Error("index out of range");
    }

    this.data.splice(index, 1);
    this.length--;
  }

  // 更新指定下标位置的元素
  set(index, element) {
    if (index < 0 || index >= this.length) {
      throw new Error("index out of range");
    }

    this.data[index] = element;
  }
}

// 使用线性表类创建一个线性表
// const list = new LinearList();

// 在线性表末尾添加元素
// list.append("A");
// list.append("B");
// list.append("C");

// console.log(list.get(1))
// console.log(list.get(2))
// console.log(list.get(0))